<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // Object.is(arg1,arg2)  方法判断两个值是否为同一个值。
    // arg1,arg2  => 参数比较的两个值

    // Object.is() 方法判断两个值是否为同一个值，如果满足以下任意条件则两个值相等：
    //     都是 undefined
    //     都是 null
    //     都是 true 或都是 false
    //     都是相同长度、相同字符、按相同顺序排列的字符串
    //     都是相同对象（意味着都是同一个对象的值引用）
    //     都是数字且
    //         都是 +0
    //         都是 -0
    //         都是 NaN
    //         都是同一个值，非零且都不是 NaN

    // 值类型的比较  => 数值和类型相同即可
    // console.log("hello" === "hello",Object.is("hello","hello"));
    // console.log(1 === 1,Object.is(1,1));
    // console.log(true === true,Object.is(true,true));
    // console.log(null === null,Object.is(null,null));

    // 引用类型   => 引用同一片内存空间
    // console.log( [] === [], Object.is([],[]));
    // console.log( {} === {}, Object.is({},{}));
    // console.log( function(){} === function(){}, Object.is(function(){},function(){}));

    // 基本用法同 === , 但是有区别, 差别是它们对待有符号的零和 NaN 不同，
    // console.log(+0===-0,  Object.is(+0,-0)); // true false
    // console.log(NaN===NaN,  Object.is(NaN,NaN)); // false true



    // 找出数组中是否存在NaN ,  找到第一个NaN所在位置 ?
    var list = [1,4,7,2,NaN,5,8,3,6,9];

    // var res = list.some(function(v){
    //     return Object.is(v,NaN);
    // })
    var res = list.some(v=>Object.is(v,NaN));
    console.log(res);

    var res = list.findIndex(v=>Object.is(v,NaN));
    console.log(res);






</script>
</html>